A Refinement Methodology for Object-Oriented Programs

نویسندگان

  • Asma Tafat
  • Sylvain Boulmé
  • Claude Marché
چکیده

Refinement is a well-known approach for developing correct-byconstruction software. It has been very successful for producing high quality code e.g., as implemented in the B tool. Yet, such refinement techniques are restricted in the sense that they forbid aliasing (and more generally sharing of data-structures), which often happens in usual programming languages. We propose a sound approach for refinement in presence of aliases. Suitable abstractions of programs are defined by algebraic data types and the so-called model fields. These are related to concrete program data using coupling invariants. The soundness of the approach relies on methodologies for (1) controlling aliases and (2) checking side-effects, both in a modular way.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Object-oriented Scientific Programming with Fortran 90

Fortran 90 is a modern language that introduces many important new features beneficial for scientific programming. While the array-syntax notation has received the most attention, we have found that many modern softaware development techniques can be supported by this language, including object-oriented concepts. While Fortran 90 is not a full object-oriented language it can directly support ma...

متن کامل

A Framework for Object Identification and Refinement Process in Object-Oriented Analysis and Design

There are already many projects focusing on Computer Aided Software Engineering (CASE) tools for object-oriented analysis and design. However, at this moment, there are certain limitations to such solutions, such as, they are concentrated on object-oriented notation and forward/reverse engineering, and the methodology for object identification and refinement are not implemented well. This paper...

متن کامل

A Refinement Theory for Concurrent Object Oriented Languages

A notion of refinement for concurrent object-oriented programs was originally presented in [3]. ln th.is article we prove that the refinement relation associated to this notion is a congruence with respect to various standard programming language constructors, including parallel and sequential composition, conditionals, and nondeterministic internal choice. We also establish a weaker compositio...

متن کامل

A Computational Model for Object Oriented Programming

We describe a computational model for object oriented programs. A state of a computation is a directed graph in which each vertex represents an object and each edge represents an instance variable. Edges are labeled with instance variable names. We introduce a simple object oriented language and define a semantics which gives the meaning of each program as a function from states to states. Char...

متن کامل

A Seamless Eiffel-Based Refinement Calculus for Object-Oriented Systems

The Eiffel language [4] can be used throughout the object-oriented software development process, for both specification and implementation. We outline work-in-progress on developing a refinement calculus for producing provably correct Eiffel programs from Eiffel specifications. We propose extensions to the calculus by integrating abstract data types as a front-end language that can be used for ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010